package com.xuanyuanxinyu.view.adapter

import androidx.recyclerview.widget.DiffUtil

/**
 * @FileName:
 * @Description: DiffUtil的使用大大优化了列表刷新的性能
 * @author ken.luo
 * @date 2023/4/4
 * @version V1.0
 * @email 424533553@qq.com
 */
class CoreApapter {
    /**
     * 更新数据
     */
    private fun notifyData(oldList : MutableList<User>, newList : MutableList<User>) {
        // 第一种方案
        val demoListAdapter = ListDifferAdapter()
        // 土建该方案不用担心组阻塞问题
        demoListAdapter.submitList(newList)
        
        
        // 第二种方案
        val diffCallback = DiffCallback(oldList, newList)
        // DiffUtil.calculateDiff 执行在主线程中，数据过大会组赛线程
        val diffResult = DiffUtil.calculateDiff(diffCallback)
        val differAdapter = DifferAdapter()
        // 刷新数据
        diffResult.dispatchUpdatesTo(differAdapter)
    }
}


data class User(val name : String,val id:Int)


